Skip to main content

MySql 添加用户 修改密码 修改权限操作

MySql 修改root密码

方法一

SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD('123456');

方法二

UPDATE user SET password = PASSWORD('root') WHERE user = 'root';
FLUSH PRIVILEGES;

MySql 添加用户

格式:grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名@用户地址 identified by “连接口令”;

例子:

grant select on database.* to useName@localhost identified by "password"

权限1,权限2,…权限n代表select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14个权限。 当权限1,权限2,…权限n被all privileges或者all代替,表示赋予用户全部权限。 当数据库名称.表名称被.代替,表示赋予用户操作服务器上所有数据库所有表的权限。 用户地址可以是localhost,也可以是ip地址、机器名字、域名。也可以用’%’表示从任何地址连接。 “连接口令”不能为空,否则创建失败。

增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令:

grant select,insert,update,delete on *.* to test1@'%'  Identified by "abc";

但增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见例第二种:

mysql> grant select,insert,update,delete on book.* to test2@localhost Identified by "abc";

添加所有权限

grant all privileges on *.* to test1@'%'  Identified by "abc";

取消所有权限

revoke all on *.* from test1@'%';
FLUSH PRIVILEGES;

MySQL 新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,否则会出现拒绝访问。